//
//  rec_audio.h
//  yuanGitFFmpeg
//
//  Created by yuanxuzhen on 2021/3/29.
//

#ifndef rec_audio_h
#define rec_audio_h

#include <stdio.h>
#include <unistd.h>
#include "libavutil/avutil.h"
#include "libavdevice/avdevice.h"
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#include "libswresample/swresample.h"
void rec_audio();
void set_status(int status);
AVCodecContext* open_coder();
SwrContext* init_swr();
AVFrame* create_frame();
void encode(AVCodecContext* codec_ctx, AVFrame* frame, AVPacket* pkt, FILE* outFile);
AVFormatContext* open_dev();
void read_data_and_encode(AVFormatContext *fmt_ctx, //
                          AVCodecContext *c_ctx,
                          SwrContext* swr_ctx,
                          FILE *outfile);
void free_data_4_resample(uint8_t **src_data, uint8_t **dst_data);
#endif /* rec_audio_h */
